module.exports = {
  root: true,
  defaultSeverity: "warning",
  plugins: ["stylelint-order"],
  customSyntax: "postcss-html",
  extends: [
    "stylelint-config-standard-scss",
    "stylelint-config-recommended-vue/scss",
    "stylelint-config-standard",
    "stylelint-config-prettier",
    "stylelint-config-recess-order",
  ],
  rules: {
    "import-notation": null,
    "selector-class-pattern": null,
    "selector-pseudo-class-no-unknown": [
      true,
      {
        ignorePseudoClasses: ["global", "deep"],
      },
    ],
    "selector-pseudo-element-no-unknown": [
      true,
      {
        ignorePseudoElements: ["v-deep"],
      },
    ],
    "at-rule-no-unknown": [
      true,
      {
        ignoreAtRules: [
          "tailwind",
          "apply",
          "variants",
          "responsive",
          "screen",
          "function",
          "if",
          "each",
          "include",
          "mixin",
        ],
      },
    ],
    "no-empty-source": null,
    "named-grid-areas-no-invalid": null,
    "unicode-bom": "never",
    "no-descending-specificity": null,
    "font-family-no-missing-generic-family-keyword": null,
    "declaration-colon-space-after": "always-single-line",
    "declaration-colon-space-before": "never",
    "rule-empty-line-before": [
      "always",
      {
        ignore: ["after-comment", "first-nested"],
      },
    ],
    "function-no-unknown": [true, { ignoreFunctions: ["/^v-bind"] }],
    "unit-no-unknown": [true, { ignoreUnits: ["rpx"] }],
  },
  ignoreFiles: ["**/*.js", "**/*.jsx", "**/*.tsx", "**/*.ts", "**/*.json"],
  // overrides: [
  //   {
  //     files: ["*.vue", "**/*.vue", "*.html", "**/*.html"],
  //     extends: ["stylelint-config-recommended", "stylelint-config-html"],
  //     rules: {
  //       "keyframes-name-pattern": null,
  //       "selector-pseudo-class-no-unknown": [
  //         true,
  //         {
  //           ignorePseudoClasses: ["deep", "global"],
  //         },
  //       ],
  //       "selector-pseudo-element-no-unknown": [
  //         true,
  //         {
  //           ignorePseudoElements: ["v-deep", "v-global", "v-slotted"],
  //         },
  //       ],
  //     },
  //   },
  // ],
};
